package dao;

import entity.Purchase;
import entity.User;

import java.util.List;

/**
 * 项目名：PSIMSys
 * 包名：dao
 * 类名：UserDao
 * 描述：
 * 作者：柳胜酉
 * 开始时间：2023/4/20
 * 完成时间：
 * 版本：1.0
 */
public interface UserDao {

    /**
     * 用户登录
     * @param user 用户实体
     * @return 返回登录用户数据
     */
    User login(User user);

    /**
     * 所有用户展示
     *
     * @return 返回所有用户数据
     */
    List<User> showUser();

    /**
     * 所有采购员
     *
     * @return 返回所有用户数据
     */
    List<User> showPurchaser();

    /**
     * 所有销售员
     *
     * @return 返回所有用户数据
     */
    List<User> showSeller();

    /**
     * 用户注册或新增
     *
     * @param user 用户实体
     * @return 返回是否注册或新增成功
     */
    boolean insertUser(User user);

    /**
     * 用户注册或新增带头像
     *
     * @param user 用户实体
     * @return 返回是否注册或新增成功
     */
    boolean insertUserWithHead(User user);

    /**
     * 用户修改
     *
     * @param user 用户实体
     * @return 返回是否修改成功
     */
    boolean updateUser(User user);

    /**
     * 用户删除
     *
     * @param id 用户编号
     * @return 返回是否删除成功
     */
    boolean deleteUser(int id);

    /**
     * 根据用户id查询用户数据
     *
     * @param id 用户编号
     * @return 用户
     */
    User selectUserById(int id);


}
